Search, Align, and Repair: Data-Driven Feedback Generation for Introductory Programming Exercises
نویسندگان
چکیده
This paper introduces the “Search, Align, and Repair” datadriven program repair framework to automate feedback generation for introductory programming exercises. Distinct from existing techniques, our goal is to develop an efficient, fully automated, and problem-agnostic technique for large or MOOC-scale introductory programming courses. We leverage the large amount of available student submissions in such settings and develop new algorithms for identifying similar programs, aligning correct and incorrect programs, and repairing incorrect programs by finding minimal fixes. We have implemented our technique in the Sarfgen system and evaluated it on thousands of real student attempts from the Microsoft-DEV204.1x edX course and the Microsoft CodeHunt platform. Our results show that Sarfgen can, within two seconds on average, generate concise, useful feedback for 89.7% of the incorrect student submissions. It has been integrated with the Microsoft-DEV204.1X edX class and deployed for production use.
منابع مشابه
Data-Driven Feedback Generation for Introductory Programming Exercises
This paper introduces the “Search, Align, and Repair” datadriven program repair framework to automate feedback generation for introductory programming exercises. Distinct from existing techniques, our goal is to develop an efficient, fully automated, and problem-agnostic technique for large or MOOC-scale introductory programming courses. We leverage the large amount of available student submiss...
متن کاملA Classification of Data-Driven Hint Generation Techniques for Code-Writing Intelligent Tutoring Systems
The ability to write code accurately and fluently is a core competency for every engineering student. Introductory programming is an essential part of the curriculum in any engineering discipline in universities. However, for many beginning students, it is very difficult to learn. In particular, these students often get stuck and frustrated when attempting to solve programming exercises. One wa...
متن کاملGenerating Data-driven Hints for Open-ended Programming
Intelligent Tutoring Systems (ITSs) have shown success in the domain of programming, in part by providing customized hints and feedback to students. However, many popular novice programming environments still lack these intelligent features. This is due in part to their use of open-ended programming assignments, which are difficult to support with existing hint generation techniques. In this pa...
متن کاملTeaching Introductory Programming to IS Students: The Impact of Teaching Approaches on Learning Performance
Introductory programming courses are typically required for undergraduate students majoring in Information Systems. Instructors use different approaches to teaching this course: some lecturing and assigning programming exercises, others only assigning programming exercises without lectures. This research compares the effects of these two teaching approaches on learning performance by collecting...
متن کاملAutomated Clustering and Program Repair for Introductory Programming Assignments
Providing feedback on programming assignments is a tedious task for the instructor, and even impossible in large MOOCs with thousands of students. In this paper, we present a novel technique for automatic feedback generation: (1) For a given programming assignment, we automatically cluster the correct student attempts based on their underlying strategy. From each class we select one student att...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017